package dao.Klasse;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import valueobjects.Klasse.Klasse;
import valueobjects.Klasse.KlasseImpl;
import dao.DaoOberklasse;

/**
 * Implementierung von {@link KlasseDAO}.
 * 
 * @author Kevin
 * 
 */
public class KlasseDAOImpl extends DaoOberklasse<Klasse> implements KlasseDAO {

	@Override
	public List<Klasse> holeAlleKlassen() {
		return this.executeSQLSelect("SELECT * FROM Klasse;");
	}

	@Override
	public List<Klasse> executeSQLSelect(String sql) {
		ResultSet rs = this.connectionDAO.sqlSelectAusfuehren(sql);

		List<Klasse> klasseList = new ArrayList<Klasse>();
		try {
			while (rs.next()) {
				// Mapping von Resultset zu Objekten.
				;
				Klasse klasse = new KlasseImpl();
				klasse.setFk_lehrer(rs.getInt(rs.getInt("fk_lehrer")));
				klasse.setSchwerpunkt(rs.getString("schwerpunkt"));
				klasse.setStufe(rs.getInt("stufe"));
				klasse.setLaufende_nummer(rs.getInt("laufende_nummer"));

				klasse.setId(rs.getInt("klasse_id"));
				klasseList.add(klasse);

			}
		} catch (SQLException e) {
			// Bei Fehlern.
			e.printStackTrace();
		}
		return klasseList;
	}

}
